<?php
//------------------------------------------------------------ Contraintes d'accès de la page

	// on vérifie que cette page est appelée à partir de l'index et que l'utilisateur a le droit d'édition
	if(isset($_SESSION) && ($GLOBALS['USER']['level'] >= 4 || $GLOBALS['USER']['admin'])){

		// l'identifiant de la donnée à supprimer est indiqué par un entier
		if(isset($_GET['id']) && numericInt($_GET['id'])){
		
			$nb_thematiques = valueExists((int)$_GET['id'], "CODETHEMATIQUE", "thematique", $connexion);
			
			if($nb_thematiques == 1){ // la thematique à éditer existe et son identifiant est unique
	
?>
<?php
//------------------------------------------------------------ Valeur des champs avant saisie

	// récupération des informations de la thematique
	$query_recuperation_thematique = "SELECT NOMTHEMATIQUE ";
	$query_recuperation_thematique .= "FROM thematique ";
	$query_recuperation_thematique .= "WHERE CODETHEMATIQUE = ".$_GET['id']." ";
	
	$result_recuperation_thematique = mysql_query($query_recuperation_thematique, $connexion) or logError("RECUPERATION THEMATIQUE-".$query_recuperation_thematique."-".mysql_error());
	
	$tab_recuperation_thematique = mysql_fetch_row($result_recuperation_thematique);

	$dv_nom = $tab_recuperation_thematique[0]; // valeur du champ nom (edt_nom)
	
	$nomOrigine = $tab_recuperation_thematique[0];
	
	mysql_free_result($result_recuperation_thematique);
	
?>
<?php
//------------------------------------------------------------ Traitements si le formulaire a été envoyé

/********************************* Règles :

	- la thematique ne peut pas être vide
	- la thematique ne doit pas être déjà enregistrée dans la BDD

*****************************************/

	$statut = array(); // indique le statut du traitement du formulaire (echec ou succes) - tableau contenant les messages à afficher
	$erreur = false; // indique si une erreur a été rencontrée lors du traitement

	trimTabByKey($_POST, "edt_"); // appel à la fonction trimTabByKey() définie dans fonctions.php
	
	//---------------------------------- Contrôle des données ----------------------------------
	
	if(isset($_POST['form_sent'])){ // si le formulaire est envoyé
	
		// Contrôle des données du nom de la thematique
		if(isset($_POST['edt_nom']) && is_string($_POST['edt_nom'])){
			if(emptyString($_POST['edt_nom'])){
				$statut[] = "Le nom du thème ne peut être effacé";
				$erreur = true;
			}else{
				if(!strcmpCollation($_POST['edt_nom'], $nomOrigine)){ // Si le nom a été modifié
					if(valueExists($_POST['edt_nom'], "NOMTHEMATIQUE", "thematique", $connexion) > 0){
						$statut[] = "Ce thème existe déjà";
						$erreur = true;
					}else{
						$dv_nom = $_POST['edt_nom'];
					}
				}else{
					$dv_nom = $_POST['edt_nom'];
				}
			}
		}else{
			$statut[] = "Aucun nom de thème indiqué";
			$erreur = true;
		}
		
		//---------------------------------- Modification de la thematique ----------------------------------
	
		if(!$erreur){ // aucune erreur n'a été rencontrée jusqu'ici
		
			$query_modification_thematique = "UPDATE thematique ";
			$query_modification_thematique .= "SET NOMTHEMATIQUE = ".mysqlString($_POST['edt_nom'])." ";
			$query_modification_thematique .= "WHERE CODETHEMATIQUE = ".$_GET['id']." ";
			
			$result_modification_thematique = mysql_query($query_modification_thematique, $connexion) or logError("MODIFICATION THEME-".$query_modification_thematique."-".mysql_error());
		
			if($result_modification_thematique === true){
				$statut[] = "Les informations du thème ont été modifiées";
				logAction("THEMATIQUE (id: ".$_GET['id'].") MODIFIEE par ".capitalise($GLOBALS['USER']['prenom'])." ".mb_strtoupper($GLOBALS['USER']['nom'])." (".$GLOBALS['USER']['login'].")");
			}else{
				$statut[] = "Erreur critique lors de la modification du thème";
				$erreur = true;
			}
		
		}
		
	}
?>
<?php
//------------------------------------------------------------ Affichage du statut si le formulaire a été envoyé

	if(isset($_POST['form_sent'])){ // si le formulaire est envoyé
		
		if($erreur){
			afficherStatut($statut, 3); // appel à la fonction afficherStatut() définie dans fonctions.php
		}else{
			afficherStatut($statut, 1); // appel à la fonction afficherStatut() définie dans fonctions.php
		}
	
	}

?>
<?php
	boutonRetour("index.php?p=gestion/thematique_gere"); // // appel à la fonction boutonRetour() définie dans fonctions.php
?>
<form method="post" action="index.php?p=gestion/thematique_edite&amp;id=<?php echo $_GET['id']; ?>">
	<table class="formulaire" style="margin-left: auto; margin-right: auto;">
		<tr>
			<th class="titre" colspan="2">Modification des informations d'un thème</th>
		</tr>
		<tr>
			<td style="width: 120px" class="etiquette">Nom * :</td>
			<td style="width: 275px" class="champ"><input type="text" name="edt_nom" size="25" value="<?php echo htmlentities($dv_nom, ENT_COMPAT, "UTF-8"); ?>" /></td>
		</tr>
		<tr>
			<td class="envoi" colspan="2"><input type="submit" value="Modifier" /><input type="hidden" name="form_sent" value="1" /></td>
		</tr>
		<tr>
			<td class="legende" colspan="2">* = champs obligatoires</td>
		</tr>
	</table>
</form>
<?php
//------------------------------------------------------------ Accès refusé à la page

			}else{
				afficherStatut("Le thème à éditer n'existe pas", 3); // appel à la fonction afficherStatut() définie dans fonctions.php
			}

		}else{
			afficherStatut("Le thème à éditer n'est pas ou mal indiquée", 3); // appel à la fonction afficherStatut() définie dans fonctions.php
		}

	}else{
		if(isset($_SESSION)){
			if(!isset($_SESSION['user_id'])){ // si l'utilisateur n'est pas connecté
				include("pages/connexion.php");
			}else{ // si l'utilisateur est connecté et qu'il n'a pas accès à la page, c'est qu'il n'a pas le droit d'utilisation nécessaire
				include("pages/401.htm");
			}
		}
	}

?>